﻿var $log = console.log;

function $logb()
{
    var args = Ext.Array.clone(arguments);
    args.push($logb.caller);
    console.group.apply(console, args);
};

function $logbc()
{
    var args = Ext.Array.clone(arguments);
    args.push($logbc.caller);
    console.groupCollapsed.apply(console, args);
};
    

var $loge = console.groupEnd;
var $info = console.info;
var $warn = console.warn;
var $error = console.error;

function $trace()
{
    console.groupCollapsed('trace', arguments);
    console.trace();
    console.groupEnd();
};

function $logf(func)
{
    return function ()
    {
        console.group(func);
        func.apply(this, arguments);
        console.groupEnd();
    };
}
function $logfc(func)
{
    return function ()
    {
        console.groupCollapsed(func);
        func.apply(this, arguments);
        console.groupEnd();
    };
}

function $logf0(func) { return func; }
function $logfc0(func) { return func; }
